<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-- | Produces XHTML 1.0 Strict.</span><span>
</span><span id="line-2"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text.XHtml.Strict</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-3"></span><span>     </span><span class="annot"><span class="hs-comment">-- * Data types</span></span><span>
</span><span id="line-4"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#Html"><span class="hs-identifier">Html</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HtmlAttr"><span class="hs-identifier">HtmlAttr</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-5"></span><span>     </span><span class="annot"><span class="hs-comment">-- * Classes</span></span><span>
</span><span id="line-6"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier">HTML</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#ADDATTRS"><span class="hs-identifier">ADDATTRS</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#CHANGEATTRS"><span class="hs-identifier">CHANGEATTRS</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-7"></span><span>     </span><span class="annot"><span class="hs-comment">-- * Primitives and basic combinators</span></span><span>
</span><span id="line-8"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#%3C%3C"><span class="hs-operator">(&lt;&lt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#concatHtml"><span class="hs-identifier">concatHtml</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#%2B%2B%2B"><span class="hs-operator">(+++)</span></a></span><span class="hs-special">,</span><span> </span><span>
</span><span id="line-9"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#noHtml"><span class="hs-identifier">noHtml</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#isNoHtml"><span class="hs-identifier">isNoHtml</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#tag"><span class="hs-identifier">tag</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#itag"><span class="hs-identifier">itag</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-10"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#htmlAttrPair"><span class="hs-identifier">htmlAttrPair</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#emptyAttr"><span class="hs-identifier">emptyAttr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#intAttr"><span class="hs-identifier">intAttr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier">strAttr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#htmlAttr"><span class="hs-identifier">htmlAttr</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-11"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#primHtml"><span class="hs-identifier">primHtml</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#stringToHtmlString"><span class="hs-identifier">stringToHtmlString</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-12"></span><span>     </span><span class="annot"><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier">docType</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-13"></span><span>     </span><span class="annot"><span class="hs-comment">-- * Rendering</span></span><span>
</span><span id="line-14"></span><span>     </span><span class="annot"><a href="Text.XHtml.Strict.html#showHtml"><span class="hs-identifier">showHtml</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.html#renderHtml"><span class="hs-identifier">renderHtml</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.html#renderHtmlWithLanguage"><span class="hs-identifier">renderHtmlWithLanguage</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.html#prettyHtml"><span class="hs-identifier">prettyHtml</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-15"></span><span>     </span><span class="annot"><a href="Text.XHtml.Internals.html#showHtmlFragment"><span class="hs-identifier">showHtmlFragment</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#renderHtmlFragment"><span class="hs-identifier">renderHtmlFragment</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#prettyHtmlFragment"><span class="hs-identifier">prettyHtmlFragment</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-16"></span><span>     </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.Elements.html"><span class="hs-identifier">Text.XHtml.Strict.Elements</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-17"></span><span>     </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.Attributes.html"><span class="hs-identifier">Text.XHtml.Strict.Attributes</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-18"></span><span>     </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="Text.XHtml.Extras.html"><span class="hs-identifier">Text.XHtml.Extras</span></a></span><span>
</span><span id="line-19"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html"><span class="hs-identifier">Text.XHtml.Internals</span></a></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.Elements.html"><span class="hs-identifier">Text.XHtml.Strict.Elements</span></a></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Text.XHtml.Strict.Attributes.html"><span class="hs-identifier">Text.XHtml.Strict.Attributes</span></a></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Text.XHtml.Extras.html"><span class="hs-identifier">Text.XHtml.Extras</span></a></span><span>
</span><span id="line-25"></span><span>
</span><span id="line-26"></span><span class="hs-comment">-- | The @DOCTYPE@ for XHTML 1.0 Strict.</span><span>
</span><span id="line-27"></span><span class="annot"><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier hs-type">docType</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-28"></span><span id="docType"><span class="annot"><span class="annottext">docType :: String
</span><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier hs-var hs-var">docType</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&lt;!DOCTYPE html PUBLIC \&quot;-//W3C//DTD XHTML 1.0 Strict//EN\&quot;&quot;</span></span><span>
</span><span id="line-29"></span><span>          </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; \&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\&quot;&gt;&quot;</span></span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span class="hs-comment">-- | Output the HTML without adding newlines or spaces within the markup.</span><span>
</span><span id="line-32"></span><span class="hs-comment">--   This should be the most time and space efficient way to</span><span>
</span><span id="line-33"></span><span class="hs-comment">--   render HTML, though the ouput is quite unreadable.</span><span>
</span><span id="line-34"></span><span id="local-6989586621679037656"><span class="annot"><a href="Text.XHtml.Strict.html#showHtml"><span class="hs-identifier hs-type">showHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037656"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037656"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-35"></span><span id="showHtml"><span class="annot"><span class="annottext">showHtml :: forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Strict.html#showHtml"><span class="hs-identifier hs-var hs-var">showHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; html -&gt; String
forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#showHtmlInternal"><span class="hs-identifier hs-var">showHtmlInternal</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier hs-var">docType</span></a></span><span>
</span><span id="line-36"></span><span>
</span><span id="line-37"></span><span class="hs-comment">-- | Outputs indented HTML. Because space matters in</span><span>
</span><span id="line-38"></span><span class="hs-comment">--   HTML, the output is quite messy.</span><span>
</span><span id="line-39"></span><span id="local-6989586621679037615"><span class="annot"><a href="Text.XHtml.Strict.html#renderHtml"><span class="hs-identifier hs-type">renderHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037615"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037615"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-40"></span><span id="renderHtml"><span class="annot"><span class="annottext">renderHtml :: forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Strict.html#renderHtml"><span class="hs-identifier hs-var hs-var">renderHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; html -&gt; String
forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#renderHtmlInternal"><span class="hs-identifier hs-var">renderHtmlInternal</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier hs-var">docType</span></a></span><span>
</span><span id="line-41"></span><span>
</span><span id="line-42"></span><span class="hs-comment">-- | Outputs indented XHTML. Because space matters in</span><span>
</span><span id="line-43"></span><span class="hs-comment">--   HTML, the output is quite messy.</span><span>
</span><span id="line-44"></span><span id="local-6989586621679037611"><span class="annot"><a href="Text.XHtml.Strict.html#renderHtmlWithLanguage"><span class="hs-identifier hs-type">renderHtmlWithLanguage</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037611"><span class="hs-identifier hs-type">html</span></a></span><span>
</span><span id="line-45"></span><span>                       </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ The code of the &quot;dominant&quot; language of the webpage.</span><span>
</span><span id="line-46"></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037611"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-comment">-- ^ All the 'Html', including a header.</span><span>
</span><span id="line-47"></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-48"></span><span id="renderHtmlWithLanguage"><span class="annot"><span class="annottext">renderHtmlWithLanguage :: forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Strict.html#renderHtmlWithLanguage"><span class="hs-identifier hs-var hs-var">renderHtmlWithLanguage</span></a></span></span><span> </span><span id="local-6989586621679037607"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679037607"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span id="local-6989586621679037606"><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679037606"><span class="hs-identifier hs-var">theHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-49"></span><span>    </span><span class="annot"><span class="annottext">String
</span><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier hs-var">docType</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Html -&gt; String
forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#renderHtmlFragment"><span class="hs-identifier hs-var">renderHtmlFragment</span></a></span><span> </span><span class="annot"><span class="annottext">Html
</span><a href="#local-6989586621679037605"><span class="hs-identifier hs-var">code</span></a></span><span>  </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span>
</span><span id="line-50"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-51"></span><span>    </span><span id="local-6989586621679037605"><span class="annot"><span class="annottext">code :: Html
</span><a href="#local-6989586621679037605"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Html -&gt; Html
</span><a href="Text.XHtml.Internals.html#tag"><span class="hs-identifier hs-var">tag</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;html&quot;</span></span><span> </span><span class="annot"><span class="annottext">(Html -&gt; Html) -&gt; [HtmlAttr] -&gt; Html -&gt; Html
forall a. ADDATTRS a =&gt; a -&gt; [HtmlAttr] -&gt; a
</span><a href="Text.XHtml.Internals.html#%21"><span class="hs-operator hs-var">!</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier hs-var">strAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;xmlns&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;http://www.w3.org/1999/xhtml&quot;</span></span><span>
</span><span id="line-52"></span><span>                           </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier hs-var">strAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lang&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679037607"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-53"></span><span>                           </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; HtmlAttr
</span><a href="Text.XHtml.Internals.html#strAttr"><span class="hs-identifier hs-var">strAttr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;xml:lang&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679037607"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-54"></span><span>                           </span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">(Html -&gt; Html) -&gt; html -&gt; Html
forall a b. HTML a =&gt; (Html -&gt; b) -&gt; a -&gt; b
</span><a href="Text.XHtml.Internals.html#%3C%3C"><span class="hs-operator hs-var">&lt;&lt;</span></a></span><span> </span><span class="annot"><span class="annottext">html
</span><a href="#local-6989586621679037606"><span class="hs-identifier hs-var">theHtml</span></a></span><span>
</span><span id="line-55"></span><span>
</span><span id="line-56"></span><span class="hs-comment">-- | Outputs indented HTML, with indentation inside elements.</span><span>
</span><span id="line-57"></span><span class="hs-comment">--   This can change the meaning of the HTML document, and </span><span>
</span><span id="line-58"></span><span class="hs-comment">--   is mostly useful for debugging the HTML output.</span><span>
</span><span id="line-59"></span><span class="hs-comment">--   The implementation is inefficient, and you are normally</span><span>
</span><span id="line-60"></span><span class="hs-comment">--   better off using 'showHtml' or 'renderHtml'.</span><span>
</span><span id="line-61"></span><span id="local-6989586621679037598"><span class="annot"><a href="Text.XHtml.Strict.html#prettyHtml"><span class="hs-identifier hs-type">prettyHtml</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Text.XHtml.Internals.html#HTML"><span class="hs-identifier hs-type">HTML</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679037598"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679037598"><span class="hs-identifier hs-type">html</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-62"></span><span id="prettyHtml"><span class="annot"><span class="annottext">prettyHtml :: forall html. HTML html =&gt; html -&gt; String
</span><a href="Text.XHtml.Strict.html#prettyHtml"><span class="hs-identifier hs-var hs-var">prettyHtml</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; html -&gt; String
forall html. HTML html =&gt; String -&gt; html -&gt; String
</span><a href="Text.XHtml.Internals.html#prettyHtmlInternal"><span class="hs-identifier hs-var">prettyHtmlInternal</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="Text.XHtml.Strict.html#docType"><span class="hs-identifier hs-var">docType</span></a></span><span>
</span><span id="line-63"></span></pre></body></html>